package com.hhh.petadopt.serviceImpl;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hhh.petadopt.pojo.User;
import com.hhh.petadopt.service.TokenService;
import com.hhh.petadopt.utils.E3Result;
import com.hhh.petadopt.utils.JedisClient;
import com.hhh.petadopt.utils.JsonUtils;
/**
 * 根据token取用户信息
 * @author 杜镇声声
 *
 */
@Service
public class TokenServiceImpl implements TokenService {
	@Autowired
	private JedisClient jedisClient;

	//根据token取用户信息
	@Override
	public E3Result getUserByToken(String token) {
		//根据token取用户信息
		String json = jedisClient.get("SESSION:" + token);
		if (StringUtils.isBlank(json)) {
			return E3Result.build(201, "用户登录已经过期");
		}
		//取到用户信息更新token的过期时间
		jedisClient.expire("SESSION:" + token, 1800);
		//返回结果，E3Result其中包含TbUser对象
		User user = JsonUtils.jsonToPojo(json, User.class);
         return E3Result.ok(user);
		
	}

}
